/*
 * Project CelestialBeing: base_classes.hpp
 * Created: 2023/11/28
 * This program uses MulanPSL2. See LICENSE for more.
 */

#ifndef CELESTIALBEING_BASE_CLASSES_HPP
#define CELESTIALBEING_BASE_CLASSES_HPP

#include <iostream>

CB_NAMESPACE_BEGIN

class NonCopyable {
public:
    NonCopyable() = default;
    NonCopyable(const NonCopyable &) = delete;
    NonCopyable &operator=(const NonCopyable &) = delete;
};

class NonMovable {
public:
    NonMovable() = default;
    NonMovable(NonMovable &&) = delete;
    NonMovable &operator=(NonMovable &&) = delete;
};

CB_NAMESPACE_END
#endif //CELESTIALBEING_BASE_CLASSES_HPP
